package com.rownext.kernel.logging 
{

	/**
	 * <code>IAppender</code>为日志的输出目的地接口，提供<code>LogEvent</code>事件的回调函数，
	 * 通过回调函数将日志输出到其对应的输出目标。可以同时添加多个<code>IAppender</code>实例，即日志信息可以向多个对象输出
	 * 
	 * @author Wang Kang
	 */
	public interface IAppender
	{
		/**
		 * 日志级别的阈值，作为是否输出日志的判断条件，大于或等于此阈值的日志才会被输出至目标
		 */
		function get threshold():LogLevel;

		function set threshold(level:LogLevel):void;

		/**
		 * 向本对象注册<code>ILogger</code>对象，
		 * 具体实现一般是给参数<code>ILogger</code>对象注册事件侦听器
		 * 由侦听器实现日志的输出
		 *  
		 * @param 待注册的<code>ILogger</code>对象
		 */
		function registerLogger(logger:ILogger):void;
	}
}